/*
    Space Simulation - Simulate the solar system
    Copyright (C) 2010  Guillaume Andrieu and Sylvain Martin

    This file is part of Space Simulation.

    Space Simulation is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Space Simulation is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Space Simulation.  If not, see <http://www.gnu.org/licenses/>.
 */

/*
 *Particule.h contiens les en-tete des fonctions de Particules.c et la définition de la structure particule.
 *
 *la structure: -un nom
 *		-des données dynamiques qui servirons aux calculs(en 3D)des equations dynamiques.	
 * 		-des caracteristiques physiques (variables des calculs des equations dynamiques.
 *		-une "couleur" qui est elle meme une structure de trois couleurs.
 *
 *
 */



#ifndef _IMA4_PARTICULE_H

#define _IMA4_PARTICULE_H

#include "Vector3D.h"

typedef struct Color Color;
struct Color
{
  float green;
  float blue;
  float red;
};

typedef struct Particule Particule;
struct Particule
{
  /* Particule name */
  char * designation;
  /* Dynamic variables */
  Vector3D position;
  Vector3D speed;
  Vector3D acceleration;
  Vector3D force_sum;
  /* Physic caracteristic */
  double mass;
  double radius;
  Color color;
  
};

/*
 *  Fonction constructeur
 */
Particule MakeParticule(char * des, Vector3D pos, Vector3D speed, double mass, double radius);

/*
 * Distance entre deux particules
 */
double PartDistance(Particule par1, Particule par2);

#endif
